Network association based on network performance capabilities

ABSTRACT

In aspects of network association based on network performance capabilities, a device includes a first subscriber identity module (SIM) to enable a first subscription for data communication between the device and data communication networks, and includes a second SIM to enable a second subscription for additional data communication between the device and the data communication networks. The device implements a network manager to determine network data parameters that indicate performance capabilities of the data communication networks. The network manager can associate a first application of the device with a first network of the data communication networks that has a greater performance capability for a data streaming download based on the network data parameters. The network manager can also associate a second application of the device with a second network of the data communication networks for an interactive session of intermittent data communications based on the network data parameters.

RELATED APPLICATION

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 16/418,226 filed May 21, 2019 entitled “NetworkAssociation Based on Network Performance Capabilities,” the disclosureof which is incorporated by reference herein in its entirety.

BACKGROUND

Devices such as smart devices, Internet of Things (IoT) devices,wireless access points, mobile devices (e.g., cellular phones, tabletdevices), consumer electronics, and the like can be implemented for usein a wide range of industries and may use various networkingtechnologies and protocols to communicate with other devices, servers,and/or cloud systems. Any number of these devices may be implemented forcellular network communication via a cellular network, using any of thevarious generations of cellular wireless technology. Additionally, anynumber of the devices may be implemented as dual-SIM devices fordual-data connectivity also commonly referred to as dual-VoLTE (Voiceover Long-Term Evolution), which is a standard based on the IPMultimedia Subsystem (IMS) network for high-speed wireless communicationimplemented for mobile phones and data terminals, including forInternet-of-Things (IoT) devices and wearable devices.

A dual-SIM mobile device that supports LTE on two subscriptions willhave Internet PDN (packet data network) established as part of the LTEregistration. Although both of the LTE subscriptions will have InternetPDN (packet data network) established as part of the LTE registration.Although both of the LTE subscriptions will have the Internet PDNactive, only the subscription associated with having data enabled (e.g.,by Application DDS (data distribution service)) will be able to utilizethe established Internet PDN. For the other subscription (e.g., thenon-DDS), the Internet PDN will be established, but is not usable fordata communication by the device. Typically in a dual SIM device, onlyone of the two LTE subscriptions is enabled and active for datacommunication. Although either of the two subscriptions can be selectedfor network connectivity and data communication, user intervention inthe form of a device input is needed to switch between the twosubscriptions for network connectivity. If a poor network connection isencountered during a data transfer, the user has to manually select oneor the other of the subscriptions to complete the data transfer, whichis slow, time-consuming, and not a favorable user experience of thedual-SIM device.

BRIEF DESCRIPTION OF THE DRAWINGS

Implementations of network association based on network performancecapabilities are described with reference to the following Figures. Thesame numbers may be used throughout to reference like features andcomponents shown in the Figures:

FIG. 1 illustrates an example device that can be used to implementtechniques of network association based on network performancecapabilities as described herein.

FIG. 2 further illustrates an example device that can be used toimplement techniques of network association based on network performancecapabilities as described herein.

FIG. 3 illustrates an example method of network association based onnetwork performance capabilities in a device in accordance with one ormore implementations of the techniques described herein.

FIG. 4 illustrates an example method of network association based onnetwork performance capabilities in a device, such as networkassociation based on a network data parameters determination inaccordance with one or more implementations of the techniques describedherein.

FIG. 5 illustrates various components of an example device that canimplement aspects of network association based on network performancecapabilities.

DETAILED DESCRIPTION

Implementations of network association based on network performancecapabilities are described, and provide techniques to determine networkperformance capabilities and automatically associate the LTEsubscriptions in a dual-SIM device with data communication networks thatprovide the performance capabilities for device applications initiatingdata communications in the dual-SIM device. This effectively associatesthe data communications from device applications with data networksbased on network performance for dual-SIM devices. Notably, thisimproves the user experience when using a dual-SIM device because theuser no longer has to manually select one or the other of the two LTEsubscriptions to complete a data transfer if a poor network connectionis encountered during the data transfer.

In aspects described herein, a mobile device, such as a mobile phone orsmart phone, includes a cellular radio system for cellular networkconnection to data communication networks. The mobile device is adual-SIM device that includes a first subscriber identity and a secondsubscriber identity, each of which may be implemented as a subscriberidentity module (SIM or commonly referred to as a SIM card) or as anembedded SIM (eSIM) designed to securely store the international mobilesubscriber identity (IMSI) number and related security key for themobile device, and which are used to identify and authenticate thedevice as a subscriber on the cellular network. The first subscriberidentity enables a first subscription for data communication between themobile device and data communication networks associated with a cellularnetwork operator. Similarly, the second subscriber identity enables asecond subscription for additional data communication between the mobiledevice and the data communication networks. Notably, both of thesubscriptions can be actively used for network data communications, andmay be based on device application requirements for data exchange.

In aspects of the techniques described herein, the mobile deviceimplements a network manager that is implemented to determine thenetwork data parameters that indicate network performance capabilitiesof the data communication networks of the wireless network operatorassociated with the first and second subscriptions for the dual-SIMdevice. The network data parameters that indicate the networkperformance capabilities of the data communication networks can includeat least available bandwidth, data throughput (e.g., network dataspeed), and data connectivity (e.g., network connection stability). Themobile device also includes device applications (e.g., softwareapplications), which may be any type of data-centric applications.Generally, some of the device applications will be data-intensive, suchas a media playback application for data streaming a movie for playbackon the mobile device that will utilize available bandwidth and requirenetwork connection stability. Other device applications will onlyutilize intermittent data communications, such as for an interactivemessaging session that does not require a great deal of bandwidth andonly a minimal amount of data throughput.

The network manager of the mobile device is implemented to associate afirst device application with a first network that has a greaterperformance capability for a data streaming download based on thenetwork data parameters. For example, the first device application mayinitiate video streaming for video playback on the mobile device, whichis data-intensive, and the network manager can determine that the firstnetwork has more available bandwidth for the data streaming downloadthan a different one of the data communication networks. Similarly, thenetwork manager can also associate a second device application with adifferent, second network that is more reliable for intermittent datacommunications based on the network data parameters. For example, thesecond device application may initiate an interactive session thatincludes message exchanges intermittently communicated and received, andthe network manager can determine that the second network has a morereliable data connectivity for the message exchanges of the interactivesession than a different one of the data communication networks.

While features and concepts of network association based on networkperformance capabilities can be implemented in any number of differentdevices, systems, networks, environments, and/or configurations,implementations of network association based on network performancecapabilities are described in the context of the following exampledevices, systems, and methods.

FIG. 1 illustrates an example mobile device 100 that can be used toimplement techniques of network association based on network performancecapabilities, as described herein. In this example, the mobile device100 may be any type of a mobile phone, smart phone, tablet device, andthe like. Generally, the mobile device 100 is any type of an electronicand/or computing device implemented with various components, such as aprocessing system 102 and memory 104, as well as any number andcombination of different components as further described with referenceto the example device shown in FIG. 5. For example, the mobile device100 can include a power source 106 to power the device, such as arechargeable battery and/or any other type of active or passive powersource that may be implemented in an electronic and/or computing device.

In this example, the mobile device 100 is a dual-SIM device with acellular radio system 108 that includes a first subscriber identity 110and a second subscriber identity 112. Each of the first subscriberidentity 110 and the second subscriber identity 112 may be implementedas a subscriber identity module (SIM or commonly referred to as a SIMcard) or as an embedded SIM (eSIM) designed to securely store theinternational mobile subscriber identity (IMSI) number and relatedsecurity key for the mobile device, and which are used to identify andauthenticate the device as a subscriber on a cellular network. Thedual-SIM mobile device 100 enables dual-data connectivity for an overallbetter user experience using mobile devices. This is also commonlyreferred to as dual-VoLTE (Voice over Long-Term Evolution), which is astandard based on the IP Multimedia Subsystem (IMS) network forhigh-speed wireless communication implemented for mobile phones and dataterminals, including for Internet-of-Things (IoT) devices and wearabledevices.

The first subscriber identity 110 (e.g., implemented as a SIM card or asan eSIM) enables a first subscription 114 for data communication betweenthe mobile device 100 and data communication networks associated with acellular network operator. Similarly, the second subscriber identity 112(e.g., implemented as a SIM card or as an eSIM) enables a secondsubscription for additional data communication between the mobile device100 and the data communication networks. In implementations, the mobiledevice 100 supports LTE on both of the first and second subscriptions114, 116 and has Internet PDN (packet data network) established andactive as part of LTE registration for wireless broadband communication.Notably, both of the subscriptions 114, 116 can be actively used fornetwork data communications, and may be based on device applicationrequirements for data exchange.

Generally, the mobile device 100 implements the cellular radio system108 with a radio device, antenna, and chipset implemented for cellularnetwork communication with other devices, networks, and servicesutilizing any suitable communication protocol or standard for cellularwireless communication. The cellular radio system 108 may also beimplemented with multiple transceivers to maintain both networkconnections associated with the first subscriber identity 110 and thesecond subscriber identity 112. The mobile device 100 may also beimplemented for communication via a network (e.g., WLAN) or via a directpeer-to-peer connection (e.g., Wi-Fi Direct, Bluetooth™, Bluetooth LE(BLE), RFID, etc.).

Although not shown specifically, the mobile device 100 can includecommunication interfaces that facilitate network communications, as wellas additional wireless radios that facilitate wireless communications,such as for Mobile Broadband, LTE, Near Field Communication (NFC),Real-time Locating System (RTLS), or any other wireless radio system orformat for communication via respective wireless networks. The mobiledevice 100 can be implemented for data communication between devices andnetwork systems, which may include wired and/or wireless networksimplemented using any type of network topology and/or communicationprotocol, to include IP based networks, and/or the Internet, as well asnetworks that are managed by mobile network operators, such as acommunication service providers, mobile phone providers, and/or Internetservice providers.

The mobile device 100 includes a network manager 118 that implementsfeatures of network association based on network performancecapabilities, as described herein. The network manager 118 may beimplemented as a device module that includes independent processing,memory, and logic components functioning as a computing and/orelectronic device integrated with the mobile device 100. Alternativelyor in addition, the network manager 118 can be implemented as a softwareapplication or software module, such as computer-executable softwareinstructions that are executable with a processor (e.g., with theprocessing system 102) of the mobile device 100. As a softwareapplication, the network manager 118 can be stored on computer-readablestorage memory (e.g., the device memory 104), or any other suitablememory device or electronic data storage implemented with the networkmanager 118.

In aspects of network association based on network performancecapabilities, the network manager 118 is implemented to determinenetwork data parameters 120 that indicate network performancecapabilities 122 of the data communication networks of the wirelessnetwork operator associated with the first and second subscriptions 114,116. In this example, the network data parameters 120 that indicate thenetwork performance capabilities 122 of the data communication networksinclude available bandwidth 124, data throughput 126 (e.g., network dataspeed), and data connectivity 128 (e.g., network connection stability).

The mobile device 100 also includes device applications 130 (e.g.,software applications), which may be any type of data-centricapplications that may be downloaded and executed on a mobile device. Forexample, the device applications 130 may include browser applications,messaging applications (e.g., to include text, phone, video chat, videoclips, etc.), photo and video capture and editing applications, videoand video clip playback applications, media playback applications,mapping applications, calendar applications, gaming applications, and/orany number of the thousands of possible device application types.Generally, some of the device applications 130 will be data-intensive,such as a media playback application for data streaming a movie forplayback on the mobile device that will utilize available bandwidth andrequire network connection stability. Other device applications 130 willonly utilize intermittent data communications (e.g., short-term datause), such as for an interactive messaging session that does not requirea great deal of bandwidth and only a minimal amount of data throughput.

In aspects of the described techniques, the network manager 118 canassociate a first application 132 (of the device applications 130) withone of the data communication networks (e.g., a first network) that hasa greater performance capability for a data streaming download 134 basedon the network data parameters 120. For example, the data streamingdownload 134 for the first application 132 is data-intensive, such asvideo streaming for video playback on the mobile device 100, and thenetwork manager 118 can determine that the network data parameters 120indicate the first network has more available bandwidth 124 for the datastreaming download than a second one of the data communication networks.

The network manager 118 can also associate a second application 136 (ofthe device applications 130) with a different one of the datacommunication networks (e.g., a second network) that is more reliablefor intermittent data communications 138 based on the network dataparameters 120. For example, the intermittent data communications 138for the second application 136 may be for an interactive session thatincludes message exchanges intermittently communicated and received, andthe network data parameters 120 indicate the second network has a morereliable data connectivity 128 for the message exchanges than the firstnetwork.

In other aspects of the described techniques, the network manager 118 ofthe mobile device 100 is implemented to monitor the network dataparameters 120 for updated performance capabilities of the datacommunication networks. In an event that the network performancecapabilities 122 of the data communication networks change, as noted bymonitoring the network data parameters 120, the network manager 118 ofthe mobile device can switch the application and network associations.For example, the network manager 118 may associate the first application132 with the second network that now has more available bandwidth 124for the data streaming download 134 than the first network based on adetermination of updated network data parameters. Similarly, the networkmanager 118 may associate the second application 136 with the firstnetwork that has a more reliable data connectivity 128 for theintermittent data communications 138 of the interactive session than thesecond network based on a determination of the updated network dataparameters.

FIG. 2 illustrates an example of a device 200 in which techniques ofnetwork association based on network performance capabilities can beimplemented, as described herein. In this example, the device 200 isrepresentative of any type of a computing device, the mobile device 100(e.g., mobile phone or tablet), Internet of Things (IoT) device,wireless device, access point, node device, and/or electronic deviceimplemented for network and/or wireless communication. The device 200may also be configured as a wearable device that is designed to be wornby, attached to, carried by, or otherwise transported by a user, such asany type of glasses, a smart band or watch, media playback device, andfitness device. Other examples of wearable devices include, but are notlimited to, badges, a key fob, an access card, and a ring, an article ofclothing, a glove, or a bracelet, to name a few examples. Generally, thedevice 200 can be implemented with various components, such as aprocessing system 202 and memory 204, as well as any number andcombination of different components as further described with referenceto the example device shown in FIG. 5.

Various devices can communicate with each other via a network (e.g.,WLAN) or via a direct peer-to-peer connection (e.g., Wi-Fi Direct,Bluetooth™, Bluetooth LE (BLE), RFID, etc.). The device 200 can includewireless radios 206 that facilitate wireless communications, as well ascommunication interfaces 208 that facilitate network communications. Thedevice 200 can be implemented for data communication between devices andnetwork systems, which may include wired and/or wireless networksimplemented using any type of network topology and/or communicationprotocol, to include IP based networks, and/or the Internet, as well asnetworks that are managed by mobile network operators, such as acommunication service providers, mobile phone providers, and/or Internetservice providers.

In this example, operational aspects of the device 200 are representedwith a general layer architecture 210, which is generally representativeof an Internet Protocol Suite (TCP/IP four-layer model), or an OpenSystem Interconnection Model (OSI seven-layer model), that characterizesthe communication and networking functions in the device. This generallayer architecture 210 is shown to have an application layer 212, anInternet protocol (IP) layer 214, a data link layer 216, and a physicallayer 218. The application layer 212 includes device applications 220that generate and initiate to communicate data (as data packets 222),and the application layer 212 includes the protocols used by the deviceapplications 220 to provide user services and exchange of applicationdata over the network connections established by the lower levelprotocols.

The IP layer 214 (also commonly referred to as “L3”) of the generallayer architecture 210 is representative of the data communicationchannels for the data packets and messages to and from the deviceapplications 220 in the application layer 212, and generally providesfor address and routing of network connections, host addressing andidentification, and packet routing. Generally, aspects of the IP layer214 implement message transfer services, and protocols in this layerprovide error control, segmentation, flow control, and bandwidthcongestion control. In this example, the IP layer 214 includes a networkmanager 224 that implements aspects of network association based onnetwork performance capabilities, as described herein. The networkmanager 118 of the mobile device 100 shown and described with referenceto FIG. 1 is an example of the network manager 224 in device 200.

The data link layer 216 (also commonly referred to as “L2”) of thegeneral layer architecture 210 generally provides for data transferbetween network entity components, the transmission of internet layerdata, protocols used to describe the local network topology, and theinterfaces needed to effect transmission of Internet layer datagrams. Inthis example, the data link layer 216 includes various discoveryengines, such as for Wi-Fi, Bluetooth™ and LE, cellular (wireless LTE),as well as a sensor HUB 226. The physical layer 218 (also commonlyreferred to as “L1”) of the general layer architecture 210 includes thewireless radios 206 and the communication interfaces 208, as well as anyother hardware electronic circuits of network communicationtechnologies.

In aspects of network association based on network performancecapabilities, the network manager 224 includes network monitoringcomponents, such as a data network monitor 228 to monitor the networkdata parameters 230 and determine the network performance capabilities232. The network manager 224 may be implemented to include independentprocessing, memory, and logic components as a computing and/orelectronic device integrated with the device 200. Alternatively or inaddition, the network manager 224 can be implemented as a softwareapplication or software module, such as computer-executable softwareinstructions that are executable with a processor (e.g., with theprocessing system 202) of the device 200. As a software application, thenetwork manager 224 can be stored on computer-readable storage memory(e.g., the device memory 204), such as any suitable memory device orelectronic data storage implemented with the device.

Example methods 300 and 400 are described with reference to respectiveFIGS. 3 and 4 in accordance with implementations of network associationbased on network performance capabilities. Generally, any services,components, modules, methods, and/or operations described herein can beimplemented using software, firmware, hardware (e.g., fixed logiccircuitry), manual processing, or any combination thereof. Someoperations of the example methods may be described in the generalcontext of executable instructions stored on computer-readable storagememory that is local and/or remote to a computer processing system, andimplementations can include software applications, programs, functions,and the like. Alternatively or in addition, any of the functionalitydescribed herein can be performed, at least in part, by one or morehardware logic components, such as, and without limitation,Field-programmable Gate Arrays (FPGAs), Application-specific IntegratedCircuits (ASICs), Application-specific Standard Products (ASSPs),System-on-a-chip systems (SoCs), Complex Programmable Logic Devices(CPLDs), and the like.

FIG. 3 illustrates example method(s) 300 of network association based onnetwork performance capabilities and is generally described withreference to the network manager implemented in a dual-SIM device. Theorder in which the method is described is not intended to be construedas a limitation, and any number or combination of the described methodoperations can be performed in any order to perform a method, or analternate method.

At 302, a first subscription is enabled for data communication between adevice and data communication networks with a first subscriber identitymodule (SIM). For example, the mobile device 100 is a dual-SIM devicethat includes the first subscriber identity 110 (e.g., implemented as aSIM card or as an eSIM), which enables the first subscription 114 fordata communication between the mobile device 100 and data communicationnetworks associated with cellular network operator.

At 304, a second subscription is enabled for additional datacommunication between the device and the data communication networkswith a second SIM. For example, the mobile device 100 also includes thesecond subscriber identity 112 (e.g., implemented as a SIM card or as aneSIM), which enables the second subscription for additional datacommunication between the mobile device 100 and the data communicationnetworks.

In the dual-SIM device (e.g., mobile device 100), the first SIM (e.g.,the first subscriber identity 110) and the second SIM (e.g., the secondsubscriber identity 112) can be implemented as either SIM cards thatenable the respective first and second subscriptions 114, 116 with awireless network operator of the data communication networks, orimplemented as embedded SIMs that enable the respective first and secondsubscriptions 114, 116 with the wireless network operator of the datacommunication networks. In implementations, the mobile device 100supports LTE on both of the first and second subscriptions 114, 116 andhas Internet PDN (packet data network) established and active as part ofLTE registration for wireless broadband communication. Notably, both ofthe subscriptions 114, 116 can be actively used for network datacommunications, and may be based on device application requirements fordata exchange.

At 306, network data parameters that indicate performance capabilitiesof the data communication networks are determined. For example, thenetwork manager 118 of the mobile device 100 determines the network dataparameters 120 that indicate the network performance capabilities 122 ofthe data communication networks corresponding to the wireless networkoperator associated with the first and second subscriptions 114, 116.The network data parameters 120 that indicate the network performancecapabilities 122 of the data communication networks include theavailable bandwidth 124, the data throughput 126 (e.g., network dataspeed), and the data connectivity 128 (e.g., network connectionstability).

At 308, a first application of the device is associated with a firstnetwork of the data communication networks that has a greaterperformance capability for a data streaming download based on thenetwork data parameters. For example, the network manager 118 of themobile device 100 associates the first application 132 (of the deviceapplications 130) with a first network of the data communicationnetworks that has a greater performance capability for the datastreaming download 134 based on the network data parameters 120.Generally, the data streaming download 134 for the first application 132is data-intensive, such as video streaming for video playback on themobile device 100, and the network manager 118 determines that thenetwork data parameters 120 indicate the first network has moreavailable bandwidth 124 for the data streaming download than a secondone of the data communication networks.

At 310, a second application of the device is associated with a secondnetwork of the data communication networks for an interactive session ofintermittent data communications based on the network data parameters.For example, the network manager 118 of the mobile device 100 alsoassociates the second application 136 (of the device applications 130)with a second network of the data communication networks that is morereliable for the intermittent data communications 138 based on thenetwork data parameters 120. Generally, the intermittent datacommunications 138 for the second application 136 may be for aninteractive session that includes message exchanges intermittentlycommunicated and received, and the network data parameters 120 indicatethe second network has a more reliable data connectivity 128 for themessage exchanges than the first network.

At 312, the network data parameters that indicate updated performancecapabilities of the data communication networks are monitored. Forexample, the network manager 118 of the mobile device 100 monitors thenetwork data parameters 120 for updated performance capabilities of thedata communication networks corresponding to the wireless networkoperator.

At 314, application and network associations are switched based on theupdated performance capabilities of the data communication networks. Forexample, the network manager 118 of the mobile device 100 switches theapplication and network associations in an event that the networkperformance capabilities 122 of the data communication networks change,as noted by monitoring the network data parameters 120. In an exampleimplementation, the network manager 118 associates the first application132 with the second network that now has more available bandwidth 124for the data streaming download 134 than the first network based on adetermination of updated network data parameters. Similarly, the networkmanager 118 associates the second application 136 with the first networkthat has a more reliable data connectivity 128 for the intermittent datacommunications 138 of the interactive session than the second networkbased on a determination of the updated network data parameters.

FIG. 4 illustrates example method(s) 400 of network association based onnetwork performance capabilities and is generally described withreference to the network manager implemented in a dual-SIM device, suchas for network association based on a network data parametersdetermination. The order in which the method is described is notintended to be construed as a limitation, and any number or combinationof the described method operations can be performed in any order toperform a method, or an alternate method.

At 402, a dual-SIM device is registered on two different LTEsubscriptions. For example, the mobile device 100 is an example of adual-SIM device that includes the first SIM (e.g., the first subscriberidentity 110) and the second SIM (e.g., the second subscriber identity112), each of which can be implemented as either SIM cards that enablethe respective first and second subscriptions 114, 116 with the datacommunication networks, or implemented as embedded SIMs that enable therespective first and second subscriptions 114, 116 with the datacommunication networks.

At 404, Internet PDN is established on both of the two different LTEsubscriptions and, at 406, mobile data is enabled for communication oneither of the two different LTE subscriptions. For example, the InternetPDN (packet data network) is established and active as part of LTEregistration for wireless broadband communication using the mobiledevice 100 that supports LTE on both of the first and secondsubscriptions 114, 116.

At 408, a first application is detected as having initiated a datadownload. For example, the network manager 118 of the mobile device 100detects that the first application 132 initiates a data-intensivedownload, such as video streaming for video playback on the mobiledevice 100 in the form of the data streaming download 134.

At 410, a second application is detected as having initiated aninteractive messaging session. For example, the network manager 118 ofthe mobile device 100 detects that the second application 136 initiatesan interactive messaging session, such as an interactive session thatincludes message exchanges intermittently communicated and received inthe form of the intermittent data communications 138.

At 412, data parameters for both of the two different LTE subscriptionsare determined. For example, the network manager 118 of the mobiledevice 100 determines the network data parameters 120 for the twodifferent LTE subscriptions (e.g., the first and second subscriptions114, 116). The network data parameters 120 that indicate the networkperformance capabilities 122 include the available bandwidth 124, thedata throughput 126 (e.g., network data speed), and the dataconnectivity 128 (e.g., network connection stability).

At 414, a first subscription is determined to have a more reliable dataconnectivity for the interactive messaging session, and at 416, thefirst subscription is utilized for the interactive messaging session ofthe second application. For example, the network manager 118 of themobile device 100 determines that the data communication networkassociated with the first subscription 114 has a more reliable dataconnectivity 128 based on the network data parameters 120, and the firstsubscription 114 is then utilized for the interactive messaging session(e.g., the intermittent data communications 138) of the secondapplication 136.

At 418, a second subscription is determined to have more availablebandwidth for the data download, and at 420, the second subscription isutilized for the data download of the first application. For example,the network manager 118 of the mobile device 100 determines that thedata communication network associated with the second subscription 116has more available bandwidth 124 based on the network data parameters120, and the second subscription 116 is then utilized for the datadownload (e.g., the data streaming download 134) of the firstapplication 132.

FIG. 5 illustrates various components of an example device 500, in whichaspects of network association based on network performance capabilitiescan be implemented. The example device 500 can be implemented as any ofthe devices described with reference to the previous FIGS. 1-4, such asany type of a device, mobile device, collaborative device, access point,node device, IoT device, mobile phone, client device, wearable device,tablet, computing, communication, entertainment, gaming, media playback,and/or other type of electronic device. For example, the mobile device100 and the device 200 shown and described with reference to respectiveFIGS. 1 and 2 may be implemented as the example device 500. Further awearable device may include any one or combination of a watch, armband,wristband, bracelet, glove or pair of gloves, glasses, jewelry items,clothing items, any type of footwear or headwear, and/or other types ofwearables.

The device 500 includes communication transceivers 502 that enable wiredand/or wireless communication of device data 504 with other devices. Thedevice data 504 can include any of the network manager generated and/ordetermined data. Additionally, the device data 504 can include any typeof audio, video, and/or image data. Example communication transceivers502 include wireless personal area network (WPAN) radios compliant withvarious IEEE 802.15 (Bluetooth™) standards, wireless local area network(WLAN) radios compliant with any of the various IEEE 802.11 (WiFi™)standards, wireless wide area network (WWAN) radios for cellular phonecommunication, wireless metropolitan area network (WMAN) radioscompliant with various IEEE 802.16 (WiMAX™) standards, and wired localarea network (LAN) Ethernet transceivers for network data communication.

The device 500 may also include one or more data input ports 506 viawhich any type of data, media content, and/or inputs can be received,such as user-selectable inputs to the device, messages, music,television content, recorded content, and any other type of audio,video, and/or image data received from any content and/or data source.The data input ports may include USB ports, coaxial cable ports, andother serial or parallel connectors (including internal connectors) forflash memory, DVDs, CDs, and the like. These data input ports may beused to couple the device to any type of components, peripherals, oraccessories such as microphones and/or cameras.

The device 500 includes a processor system 508 of one or more processors(e.g., any of microprocessors, controllers, and the like) and/or aprocessor and memory system implemented as a system-on-chip (SoC) thatprocesses computer-executable instructions. The processor system may beimplemented at least partially in hardware, which can include componentsof an integrated circuit or on-chip system, an application-specificintegrated circuit (ASIC), a field-programmable gate array (FPGA), acomplex programmable logic device (CPLD), and other implementations insilicon and/or other hardware. Alternatively or in addition, the devicecan be implemented with any one or combination of software, hardware,firmware, or fixed logic circuitry that is implemented in connectionwith processing and control circuits, which are generally identified at510. The device 500 may further include any type of a system bus orother data and command transfer system that couples the variouscomponents within the device. A system bus can include any one orcombination of different bus structures and architectures, as well ascontrol and data lines.

The device 500 also includes computer-readable storage memory 512 (e.g.,memory devices) that enable data storage, such as data storage devicesthat can be accessed by a computing device, and that provide persistentstorage of data and executable instructions (e.g., softwareapplications, programs, functions, and the like). Examples of thecomputer-readable storage memory 512 include volatile memory andnon-volatile memory, fixed and removable media devices, and any suitablememory device or electronic data storage that maintains data forcomputing device access. The computer-readable storage memory caninclude various implementations of random access memory (RAM), read-onlymemory (ROM), flash memory, and other types of storage media in variousmemory device configurations. The device 500 may also include a massstorage media device.

The computer-readable storage memory 512 provides data storagemechanisms to store the device data 504, other types of informationand/or data, and various device applications 514 (e.g., softwareapplications). For example, an operating system 516 can be maintained assoftware instructions with a memory device and executed by the processorsystem 508. The device applications may also include a device manager518, such as any form of a control application, software application,signal-processing and control module, code that is native to aparticular device, a hardware abstraction layer for a particular device,and so on.

In this example, the device 500 includes a network manager 520 thatimplements aspects of network association based on network performancecapabilities. The network manager 520 may be implemented with hardwarecomponents and/or in software as one of the device applications 514,such as when the device 500 is implemented as the mobile device 100and/or as the device 200 described with reference to respective FIGS. 1and 2. Examples of the network manager 520 include the network manager118 that is implemented as a software application and/or as hardwarecomponents in the mobile device 100, and the network manager 224 that isimplemented as a software application and/or as hardware components inthe device 200. In implementations, the network manager 520 may includeindependent processing, memory, and logic components as a computingand/or electronic device integrated with the example device 500.

In this example, the device 500 also includes a camera 522 and motionsensors 524, such as may be implemented as components of an inertialmeasurement unit (IMU). The motion sensors 524 can be implemented withvarious sensors, such as a gyroscope, an accelerometer, and/or othertypes of motion sensors to sense motion of the device. The motionsensors 524 can generate sensor data vectors having three-dimensionalparameters (e.g., rotational vectors in x, y, and z coordinates)indicating position, location, and/or orientation of the device. Thedevice 500 can also include one or more power sources 526, such as whenthe device is implemented as a mobile device. The power sources mayinclude a charging and/or power system, and can be implemented as aflexible strip battery, a rechargeable battery, a chargedsuper-capacitor, and/or any other type of active or passive powersource.

The device 500 can also include an audio and/or video processing system528 that generates audio data for an audio system 530 and/or generatesdisplay data for a display system 532. The audio system and/or thedisplay system may include any devices that process, display, and/orotherwise render audio, video, display, and/or image data. Display dataand audio signals can be communicated to an audio component and/or to adisplay component via an RF (radio frequency) link, S-video link, HDMI(high-definition multimedia interface), composite video link, componentvideo link, DVI (digital video interface), analog audio connection, orother similar communication link, such as media data port 534. Inimplementations, the audio system and/or the display system areintegrated components of the example device. Alternatively, the audiosystem and/or the display system are external, peripheral components tothe example device.

Although implementations of network association based on networkperformance capabilities have been described in language specific tofeatures and/or methods, the subject of the appended claims is notnecessarily limited to the specific features or methods described.Rather, the specific features and methods are disclosed as exampleimplementations of network association based on network performancecapabilities, and other equivalent features and methods are intended tobe within the scope of the appended claims. Further, various differentexamples are described and it is to be appreciated that each describedexample can be implemented independently or in connection with one ormore other described examples. Additional aspects of the techniques,features, and/or methods discussed herein relate to one or more of thefollowing:

A device, comprising: a first subscriber identity module (SIM) to enablea first subscription for data communication between the device and datacommunication networks; a second SIM to enable a second subscription foradditional data communication between the device and the datacommunication networks; a first application implemented for a datastreaming download to the device; a second application implemented foran interactive session of intermittent data communications; a networkmanager implemented at least partially in hardware to: determine networkdata parameters that indicate performance capabilities of the datacommunication networks; associate the first application with a firstnetwork of the data communication networks that has a greaterperformance capability for the data streaming download based on thenetwork data parameters; and associate the second application with asecond network of the data communication networks for the interactivesession of intermittent data communications based on the network dataparameters.

Alternatively or in addition to the above described device, any one orcombination of: the network data parameters that indicate performancecapabilities of the data communication networks include availablebandwidth, data throughput, and data connectivity. The data streamingdownload for the first application is data-intensive, and the networkdata parameters indicate the first network has more available bandwidthfor the data streaming download than the second network. The interactivesession for the second application utilizes the intermittent datacommunications, and the network data parameters indicate the secondnetwork has more reliable data connectivity for the interactive sessionthan the first network. The data streaming download is video streamingfor video playback on the device, and the network data parametersindicate the first network has more available bandwidth for the videostreaming than the second network. The interactive session includesmessage exchanges that are intermittently communicated and received, andthe network data parameters indicate the second network has morereliable connectivity for the message exchanges than the first network.The network manager is implemented to switch application and networkassociations based on updated network data parameters, and wherein: thefirst application is associated with the second network that has moreavailable bandwidth for the data streaming download than the firstnetwork based on a determination of the updated network data parameters;and the second application is associated with the first network that hasmore reliable data connectivity for the interactive session than thesecond network based on the determination of the updated network dataparameters. The network manager is implemented to: monitor the networkdata parameters that indicate updated performance capabilities of thedata communication networks; and switch application and networkassociations based on the updated performance capabilities of the datacommunication networks. The first SIM and the second SIM are one of: SIMcards that enable the respective first and second subscriptions with awireless network operator of the data communication networks; orembedded SIMs (eSIMs) that enable the respective first and secondsubscriptions with the wireless network operator of the datacommunication networks.

A method, comprising: enabling a first subscription for datacommunication between a device and data communication networks; enablinga second subscription for additional data communication between thedevice and the data communication networks; determining network dataparameters that indicate performance capabilities of the datacommunication networks; associating a first application of the devicewith a first network of the data communication networks that has agreater performance capability for a data streaming download based onthe network data parameters; and associating a second application of thedevice with a second network of the data communication networks for aninteractive session of intermittent data communications based on thenetwork data parameters.

Alternatively or in addition to the above described method, any one orcombination of: the network data parameters that indicate performancecapabilities of the data communication networks include availablebandwidth, data throughput, and data connectivity. The data streamingdownload for the first application is data-intensive, and the networkdata parameters indicate the first network has more available bandwidthfor the data streaming download than the second network. The interactivesession for the second application utilizes the intermittent datacommunications, and the network data parameters indicate the secondnetwork has more reliable data connectivity for the interactive sessionthan the first network. The data streaming download is video streamingfor video playback on the device, and the network data parametersindicate the first network has more available bandwidth for the videostreaming than the second network. The interactive session includesmessage exchanges that are intermittently communicated and received, andthe network data parameters indicate the second network has morereliable connectivity for the message exchanges than the first network.The method includes monitoring the network data parameters that indicateupdated performance capabilities of the data communication networks; andswitching application and network associations based on the updatedperformance capabilities of the data communication networks. The methodincludes switching application and network associations based on updatednetwork data parameters; associating the first application with thesecond network that has more available bandwidth for the data streamingdownload than the first network based on a determination of the updatednetwork data parameters; and associating the second application with thefirst network that has more reliable data connectivity for theinteractive session than the second network based on the determinationof the updated network data parameters. A first subscriber identitymodule (SIM) implemented in the device enables the first subscriptionfor the data communication between the device and data communicationnetworks; and a second SIM implemented in the device enables the secondsubscription for the additional data communication between the deviceand the data communication networks. The first SIM and the second SIMare one of: SIM cards that enable the respective first and secondsubscriptions with a wireless network operator of the data communicationnetworks; or embedded SIMs (eSIMs) that enable the respective first andsecond subscriptions with the wireless network operator of the datacommunication networks.

A dual-SIM device, comprising: a first subscriber identity module (SIM)enabling data communication via data communication networks of awireless network operator; a second SIM enabling the data communicationsvia the data communication networks; a network manager implemented atleast partially in hardware to: monitor network data parameters thatindicate performance capabilities of the data communication networks;associate a first application with a first network of the datacommunication networks that has a greater performance capability for adata streaming download based on the network data parameters; andassociate a second application with a second network of the datacommunication networks that has a greater performance capability forintermittent data communications of an interactive session based on thenetwork data parameters.

The invention claimed is:
 1. A device, comprising: a first subscriberidentity module (SIM) to enable a first subscription for datacommunication between the device and data communication networks; asecond SIM to enable a second subscription for additional datacommunication between the device and the data communication networks; anetwork manager implemented at least partially in hardware to: determinefirst application requirements for data exchange by a first applicationvia the data communication networks; determine second applicationrequirements for data exchange by a second application via the datacommunication networks; determine network data parameters that indicateperformance capabilities of the data communication networks; associatethe first and second applications, each with a different network of thedata communication networks based on the network data parameters and therespective first and second application requirements; and switch thefirst and second application and network associations based on updatedperformance capabilities of the data communication networks.
 2. Thedevice as recited in claim 1, wherein the network data parameters thatindicate performance capabilities of the data communication networksinclude available bandwidth, data throughput, and data connectivity. 3.The device as recited in claim 1, wherein the first application isimplemented for a data streaming download that is data-intensive, andthe network data parameters indicate a first network of the datacommunication networks has more available bandwidth for the datastreaming download than a second network.
 4. The device as recited inclaim 3, wherein the second application is implemented for aninteractive session of intermittent data communications, and the networkdata parameters indicate the second network has more reliable dataconnectivity for the interactive session than the first network.
 5. Thedevice as recited in claim 1, wherein the first application implementsvideo streaming for video playback on the device, and the network dataparameters indicate a first network of the data communication networkshas more available bandwidth for the video streaming than a secondnetwork.
 6. The device as recited in claim 5, wherein the secondapplication implements an interactive session of message exchanges thatare intermittently communicated and received, and the network dataparameters indicate the second network has more reliable connectivityfor the message exchanges than the first network.
 7. The device asrecited in claim 1, wherein the network manager is implemented tomonitor the network data parameters that indicate the updatedperformance capabilities of the data communication networks.
 8. Thedevice as recited in claim 1, wherein the first SIM and the second SIMare one of: SIM cards that enable the respective first and secondsubscriptions with a wireless network operator of the data communicationnetworks; or embedded SIMs (eSIMs) that enable the respective first andsecond subscriptions with the wireless network operator of the datacommunication networks.
 9. A method, comprising: enabling a firstsubscription for data communication between a device and datacommunication networks; enabling a second subscription for additionaldata communication between the device and the data communicationnetworks; determining first application requirements for data exchangeby a first application via the data communication networks; determiningsecond application requirements for data exchange by a secondapplication via the data communication networks; determining networkdata parameters that indicate performance capabilities of the datacommunication networks; associating the first and second applications ofthe device, each with a different network of the data communicationnetworks based on the network data parameters and the respective firstand second application requirements; and switching the first and secondapplication and network associations based on updated performancecapabilities of the data communication networks.
 10. The method asrecited in claim 9, wherein the network data parameters that indicateperformance capabilities of the data communication networks includeavailable bandwidth, data throughput, and data connectivity.
 11. Themethod as recited in claim 9, wherein the first application isimplemented for a data streaming download that is data-intensive, andthe network data parameters indicate a first network of the datacommunication networks has more available bandwidth for the datastreaming download than a second network.
 12. The method as recited inclaim 11, wherein the second application is implemented for aninteractive session of intermittent data communications, and the networkdata parameters indicate the second network has more reliable dataconnectivity for the interactive session than the first network.
 13. Themethod as recited in claim 9, further comprising: monitoring the networkdata parameters that indicate the updated performance capabilities ofthe data communication networks.
 14. The method as recited in claim 9,wherein: a first subscriber identity module (SIM) implemented in thedevice enables the first subscription for the data communication betweenthe device and the data communication networks; and a second SIMimplemented in the device enables the second subscription for theadditional data communication between the device and the datacommunication networks.
 15. The method as recited in claim 14, whereinthe first SIM and the second SIM are one of: SIM cards that enable therespective first and second subscriptions with a wireless networkoperator of the data communication networks; or embedded SIMs (eSIMs)that enable the respective first and second subscriptions with thewireless network operator of the data communication networks.
 16. Adual-SIM device, comprising: a first subscriber identity module (SIM)enabling data communication via data communication networks of awireless network operator; a second SIM enabling the data communicationsvia the data communication networks; a network manager implemented atleast partially in hardware to: determine first application requirementsfor data exchange by a first application via the data communicationnetworks; determine second application requirements for data exchange bya second application via the data communication networks; monitornetwork data parameters that indicate performance capabilities of thedata communication networks; associate the first and second applicationsof the device, each with a different network of the data communicationnetworks based on the network data parameters and the respective firstand second application requirements; and switching the first and secondapplication and network associations based on updated performancecapabilities of the data communication networks.
 17. The dual-SIM deviceas recited in claim 16, wherein the first application is implemented fora data streaming download that is data-intensive, and the network dataparameters indicate a first network of the data communication networkshas more available bandwidth for the data streaming download than asecond network.
 18. The dual-SIM device as recited in claim 17, whereinthe second application is implemented for an interactive session ofintermittent data communications, and the network data parametersindicate the second network has more reliable data connectivity for theinteractive session than the first network.
 19. The dual-SIM device asrecited in claim 16, wherein the network manager is implemented to:monitor the network data parameters that indicate updated performancecapabilities of the data communication networks.
 20. The dual-SIM deviceas recited in claim 16, wherein the first SIM and the second SIM are oneof: SIM cards that enable the respective first and second subscriptionswith a wireless network operator of the data communication networks; orembedded SIMs (eSIMs) that enable the respective first and secondsubscriptions with the wireless network operator of the datacommunication networks.